{% extends "entity.tex.j2" %}
{% block metadata %}
\par
\begin{tabular}{ | >{\itshape}l l | } 
\hline
 名称: & {{metadata["name"]}} \\
 实例化能力: & {{metadata["Instantiability"]}} \\
{%if "SubclassOf" in metadata %}
 父类: & {{metadata["SubclassOf"]}} \\
{% endif %}
\hline
\end{tabular}
%
{%if inheritance_stack %}
\spdxpagepart{超类}
\begin{itemize}
\tightlist
{% for super in inheritance_stack %}
\item {{super}}
{% endfor %}
\end{itemize}
{% endif %}
{% endblock %}
%
%
{% block extra %}
{% if properties %}
\spdxpagepart{属性}
\begin{tabular}{ l l c c } 
\toprule
 属性 & 类型 & 最小数量 & 最大数量 \\
\midrule
    {% for name, kv in properties | dictsort %}
 {{name}} & {{kv["type"]}} & {{kv["minCount"]}} & {{kv["maxCount"]}} \\
    {% endfor %}
\bottomrule
\end{tabular} 
{% endif %}
%
{% if ext_prop_restrs %}
\spdxpagepart{外部属性基数更新}
\begin{tabular}{ l c c  } 
\toprule
 属性 & 最小数量 & 最大数量 \\
\midrule
    {% for name, kv in ext_prop_restrs | dictsort %}
 {{name}} & {{not_none(kv.get("minCount"))}} & {{not_none(kv.get("maxCount"))}} \\
    {% endfor %}
\bottomrule
\end{tabular}
{% endif %}
%
{% if all_properties %}
% \spdxpagepart{全部属性}
\begin{longtable}{ |l l c c| } 
\caption*{\textbf{全部属性} (informative)} \\
\hline
 属性 & 类型 & 最小数量 & 最大数量 \\
\hline
    {% for name, kv in all_properties | dictsort %}
 {{name}} & {{kv["type"]}} & {{kv["minCount"]}} & {{kv["maxCount"]}} \\
    {% endfor %}
\hline
\end{longtable} 
{% endif %}
{% endblock %}